package senior.ioExer2;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 附件 chaoxian.txt是个文本文件，用程序把其中的金正恩替换成 金三胖，
 * 提示：把内容取出来，替换后，写入文件。
 *
 * 问题：不能对同一个文件同时提供输入流和输出流
 * 不完美的解决方案如下：
 *      在创建输入流之前把输出流资源关闭
 *
 * @author shkstart
 * @creat 2022-04-15:45
 */
public class Exer5 {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer();
        try {
            FileReader fr = new FileReader("chaoxian.txt");
            char[] chars = new char[1024];
            int len;
            while ((len = fr.read(chars)) != -1) {
                String str = new String(chars, 0, len);
                sb.append(str);
            }
            //String replace = sb.toString();
            String replace = sb.toString().replace("金正恩", "金三胖");
            fr.close();

            //System.out.println(replace);
            FileWriter fw = new FileWriter("chaoxian.txt");
            fw.write(replace.toCharArray());
            fw.close();
            System.out.println("操作成功");
        } catch (IOException e) {
            e.printStackTrace();
        }


    }


}

